package top.stmo.spring.ioc.test2.config;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import top.stmo.spring.ioc.test2.dao.impl.BookDaoImpl;

import javax.sql.DataSource;

//@Configuration
public class JdbcConfig {

    //
    @Value("123456")
    private String password;

    //注解开发管理第三方bean
    //定义一个方法获得要管理的对象
    //添加@Bean,表示当前方法的返回值是一个bean
    @Bean                   //引用类型注入只需要为bean定义方法设置形参即可，容器会根据类型自动装配对象。
    public DataSource druidDataSource(BookDaoImpl bookDaoImpl) {  //引用类型自动按类型依赖注入
        System.out.println(bookDaoImpl);
        DruidDataSource ds = new DruidDataSource();
        ds.setDriverClassName("${jdbc.driver}");
        ds.setUrl("${jdbc.url}");
        ds.setUsername("${jdbc.username}");
        ds.setPassword(password);
        return ds;
    }

}
